home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
shapeg1a
/
frmshape.frm
(
.txt
)
< prev
next >
Wrap
Visual Basic Form
|
1999-10-12
|
3KB
|
114 lines
VERSION 5.00
Begin VB.Form frmShapes
BackColor = &H00000000&
ClientHeight = 3135
ClientLeft = 165
ClientTop = 450
ClientWidth = 4680
ControlBox = 0 'False
LinkTopic = "Form1"
ScaleHeight = 3135
ScaleWidth = 4680
StartUpPosition = 3 'Windows Default
WindowState = 2 'Maximized
Begin VB.Timer tmTimer
Enabled = 0 'False
Interval = 500
Left = 1800
Top = 1320
End
Begin VB.Menu mnuFile
Caption = "&File"
Begin VB.Menu mnuFileSettings
Caption = "&Settings..."
End
Begin VB.Menu mnuFilePause
Caption = "-"
End
Begin VB.Menu mnuFileExit
Caption = "E&xit"
End
End
Attribute VB_Name = "frmShapes"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim Terminate As Integer
Private Sub Angle()
Dim pPoint As Pt, Ang As Currency, Obj As Currency
Dim LLen As Currency, i As Currency
Dim pStart As Pt, j As Long
Dim Cur As Integer, Degrees As Integer
Ang = 30
pPoint = SetValues(ScaleWidth / 2, ScaleHeight / 2 - SHeight / 2)
pStart = pPoint
LLen = Cosine(Ang) * SHeight
If AutoClear Then Cls
Do
If Terminate Then
Terminate = False
Exit Sub
End If
Cur = Cur + 1
Degrees = Sets(Cur).Degrees
LLen = Cosine(Degrees) * Sets(Cur).Length
If Cur >= UBound(Sets) - 1 Then Cur = 0
DoEvents
i = Cosine(Ang) * LLen
Obj = Sine(Ang) * LLen
Line (pPoint.X, pPoint.Y)-(pPoint.X + Obj, pPoint.Y + i)
pPoint = SetValues(pPoint.X + Obj, pPoint.Y + i)
Ang = Ang + Abs(Degrees + 180)
If Ang > 360 Then Ang = Ang - 360
j = j + 1
If j > (360 * UBound(Sets)) Then Exit Sub
Loop Until IsSimilar(pPoint, pStart)
End Sub
Private Function IsSimilar(Point1 As Pt, Point2 As Pt) As Boolean
IsSimilar = Abs(ScaleX(Point1.Y, 1, 3) - ScaleX(Point2.Y, 1, 3)) < 2 And Abs(ScaleX(Point1.X, 1, 3) - ScaleX(Point2.X, 1, 3)) < 2
End Function
Private Function MakeRandom() As AngData
MakeRandom.Degrees = Rnd * 360
MakeRandom.Length = Rnd * (UBound(Sets) * -30) + 5030
End Function
Sub RandomSets()
Dim i As Integer
For i = 1 To UBound(Sets)
Sets(i) = MakeRandom
Next i
End Sub
Private Sub Form_Click()
NextPhase
End Sub
Private Sub Form_DblClick()
Static Clicked As Boolean
If Clicked Then End
Clicked = True
mnuFile.Visible = False
Do
DoEvents
SetNum Int(Rnd * 19) + 1
NextPhase
Loop
End Sub
Private Sub mnuFileExit_Click()
End
End Sub
Private Sub mnuFileSettings_Click()
Terminate = True
frmSettings.Show vbModal
End Sub
Function RandomElement() As Integer
RandomElement = Int(Rnd * 150) + 105
End Function
Private Sub tmTimer_Timer()
NextPhase
End Sub
Sub NextPhase()
ForeColor = RGB(RandomElement, RandomElement, RandomElement)
RandomSets
Angle
End Sub